package com.ychs.dao;

import java.util.List;
import java.util.Map;

/**
 * copyright(c)2021 YYB.ALL rights Reserved
 * <p>
 * 描述:公共的接口
 *
 * @author 原玉波
 * @version 1.0
 * @date 2021/5/19
 */
public interface BaseMapper<T> {
    //insert update delete select selectById

    /**
     * 插入记录
     * @param t
     * @return 影响的行数
     */
    int insert(T t);

    /**
     * 更新记录
     * @param t
     * @return 影响的行数
     */
    int update(T t);

    /**
     * 删除记录
     * @param id 记录的主键
     * @return
     */
    int delete(int id);

    /**
     * 查询单个记录
     * @param id 主键
     * @return 记录对象
     */
    T selectById(int id);

    /**
     * 返回满足条件的记录
     * @param conditions 查询条件
     * @return 多条记录
     */
    List<T> select(Map<String,Object> conditions);


    /**
     * 返回满足条件的记录总条数
     * @param conditions 查询条件
     * @return 多条记录
     */
    int selectTotalNumber(Map<String,Object> conditions);
}
